spring 类扫描
1、启动spring容器,spring容器会解析到以下配置
1 | <context:component-scan base-package="..."></context:component-scan> |
2、spring容器会在base-package包及子包中扫描所有的类
3、检查这些类中是否含有@Component注解
如果含有,则进行解析,
形式1:1
2
3
4
public class Person{
}
这种形式的将会解析成:1
<bean id="person" class="...">
形式2:1
2
3
4"aa") (
public class Person{
}
这种形式的将会解析成:1
<bean id="aa" class="...">
4、会查找spring容器中的bean,看哪些bean中有@Resource注解,并且按照该注解的规则给属性赋值
5、优缺点
这样的写法很简单,但是效率比较低
扫描两次
- 扫描base-package以及子包所有的类,看哪些类上面加了注解(Component/Service等)
- 扫描哪些类上加了Rescource/Autowired注解